home *** CD-ROM | disk | FTP | other *** search
/ Libris Britannia 4 / science library(b).zip / science library(b) / PROGRAMM / DB_CLIPP / 0264.ZIP / FSC002.ARC / FSC002-0.TXT
Text File  |  1986-08-14  |  12KB  |  274 lines

  1.                       The Distribution Nodelist
  2.                          by Ben Baker, 100/76
  3.  
  4.  
  5.      Copyright  (c)  1986,  International  FidoNet  Association.   All
  6. rights  reserved.   Duplication  and  or  distribution  permitted  for
  7. noncommercial purposes only.
  8.  
  9.  
  10.  
  11.      This  document  defines  the  format  and  content of the FidoNet
  12. nodelist  as  published  each  Friday  by  the  International  FidoNet
  13. Association's International Coordinator.
  14.  
  15.      FidoNet  is  an  international  network  of  independently  owned
  16. electronic mail systems, most  with  interlocking  electronic bulletin
  17. board  systems.   The  distribution nodelist, or simply "nodelist," is
  18. the glue which holds the network together.   It  is  FidoNet's  "phone
  19. book" and it defines the top-level network structure.
  20.  
  21.      The   nodelist   is   published  as  an  ASCII  text  file  named
  22. NODELIST.nnn, where nnn is the day-of-year of the  Friday  publication
  23. date.   A  companion  file,  COORD.nnn,  lists the coordinators of the
  24. various regions and local networks which  constitute  FidoNet.   These
  25. files   are  packed  into  an  archive  file  (by  System  Enhancement
  26. Associates' ARC utility) named NODELIST.Ann, where nn are the last two
  27. digits of day-of-year.
  28.  
  29.      As stated above, NODELIST.nnn is an ASCII text file.  It contains
  30. two kinds of lines, comment  lines  and  data  lines.   Each  line  is
  31. terminated  with  an  ASCII  carriage  return  and line feed character
  32. sequence.  The file is terminated with an end-of-file character (EOF -
  33. decimal character value - 26).
  34.  
  35.      Comments  lines  contain  a  semicolon (;) in the first character
  36. position  followed  by  zero  or  more  alphabetic  characters  called
  37. "interest  flags."  A  program  which  processes  the nodelist may use
  38. comment interest flags to determine the disposition of a comment line.
  39. The remainder of a comment line (with one exception, treated below) is
  40. free-form ASCII text.   There  are  four  interest  flags  defined  as
  41. follows:
  42.  
  43.      ;S This comment is of particular interest to System Operators.
  44.      ;U This comment is of particular interest to end users.
  45.      ;F This comment should appear in any formatted "Fido List."
  46.      ;A This comment is of general interest (shorthand for ;SUF).
  47.      ;  This comment may be ignored by a nodelist processor.
  48.  
  49.      The first line of a nodelist is a special comment line containing
  50. identification data for the particular edition of the  nodelist.   The
  51. following is an example of the first line of a nodelist:
  52.  
  53.      ;A Friday, August 1, 1986 -- Day number 213 : 05060
  54.  
  55.      This  line  contains the general interest flag, the day, date and
  56. day-of-year number of publication, and ends  with  a  5-digit  decimal
  57. number  with leading zeroes, if necessary.  This number is the decimal
  58. representation of a check value derived as follows:
  59.  
  60.      Beginning with the first character of the second line,  a  16-bit
  61. cyclic  redundancy  check  (CRC)  is  calculated  for the entire file,
  62. including carriage return and line feed characters, but not  including
  63. the  terminating EOF character.  The check polynomial used is the same
  64. one used for many file transfer protocols:
  65.  
  66.      2**16 + 2**12 + 2**5 + 2**0
  67.  
  68.      The CRC may be used to verify that the file has not been  edited.
  69. The  importance  of  this  will  become  evident  in the discussion of
  70. NODEDIFF, below.  CRC calculation techniques are  well  documented  in
  71. the literature, and will not be treated further here.
  72.  
  73.      The  content  of  the  remaining  comments  in  the  nodelist are
  74. intended to be informative.  Beyond the  use  of  interest  flags  for
  75. distribution, a processing program need not have any interest in them.
  76.  
  77.      A  nodelist  data  line  contains  seven variable length "fields"
  78. separated by commas (,).  No space characters are allowed  in  a  data
  79. line,  and  underscore characters (_) are used in lieu of spaces.  The
  80. following discussion defines the contents of  each  field  in  a  data
  81. line.
  82.  
  83. Field 1: Key-word
  84.  
  85.      The  keyword  field  may  be  empty,  or  may  contain one of the
  86. following:
  87.  
  88.      Region  --  begins  the  definition  of  a  geographic region and
  89.      defines its coordinator.  All the data  lines  following  a  line
  90.      with  the  Region  keyword  down  to,  but not including the next
  91.      occurrence of a Region or Host line, are independent nodes within
  92.      the defined region.
  93.  
  94.      Host  -- begins the definition of a local network and defines its
  95.      Host.  All the data lines following a line with the Host  keyword
  96.      down  to,  but  not  including the next occurrence of a Region or
  97.      Host line, are local nodes, members of the defined local network.
  98.      The  difference  between  a  region and a local network is in the
  99.      routing of messages.  A message addressed to a member of a region
  100.      is sent direct to the addressee, while a message to a member of a
  101.      local network is sent to the network host.
  102.  
  103.      Hub -- begins the definition  of  a  routing  sub-unit  within  a
  104.      multilevel local network.  The Hub is the routing focal point for
  105.      nodes listed below it until the next occurrence of a Hub,  Region
  106.      or Host keyword.  The Hub entry must be a redundant entry for one
  107.      of the nodes listed below it.
  108.  
  109.      Pvt -- defines a private  node  with  unlisted  number.   Private
  110.      nodes are only allowed as members of local networks.
  111.  
  112.      Hold  --  defines  a node which is temporarily down.  Mail may be
  113.      send to it and is held by its host or coordinator.
  114.  
  115.      Down -- defines a node which is not operational.  Mail may NOT be
  116.      sent to it.
  117.  
  118.      Kenl  --  this  places  a node in the "dog house" and serves as a
  119.      warning to a Fido about to be "excommunicated"  for  any  reason.
  120.      This  node  will  not be placed in any internal representation of
  121.      the  nodelist,  but  may  be  listed  as  "excommunicated"  in  a
  122.      formatted Fido list.
  123.  
  124.      <empty> -- defines a normal node entry.
  125.  
  126. Field 2 - Net/Node number
  127.  
  128.      This field contains only numeric digits and is a  number  in  the
  129. range  of 0 to 32767.  If the line had the Region or Host keyword, the
  130. number is the net or region number, and the node has an  implied  node
  131. number of 0.  Otherwise, the number is the node number.  The region or
  132. net number and the node number, taken together, constitutes  a  node's
  133. FidoNet address.
  134.  
  135. Field 3 - Node name
  136.  
  137.      This field may contain any characters except spaces.  Underscores
  138. are used to represent spaces.  This is the name by which the  node  is
  139. known.
  140.  
  141. Field 4 - Sysop name
  142.  
  143.      This field may contain any characters except spaces.  Underscores
  144. are used to  represent  spaces.   This  is  the  name  of  the  system
  145. operator.
  146.  
  147. Field 5 - Phone number
  148.  
  149.      This  field  contains  at  least  three  and usually four numeric
  150. subfields separated by dashes (-).  The fields are country code (1 for
  151. USA  and  Canada),  city  or area code, exchange code and number.  The
  152. various parts of the phone number are frequently used to  derive  cost
  153. and  routing  information,  as well as what number is to be dialed.  A
  154. typical example of the data in a phone number field is 1-800-555-1212,
  155. corresponding to country 1 (USA), area 800 (inward WATS), exchange 555
  156. and number 1212.
  157.  
  158.      Alternatively,   this   field   may    contain    the    notation
  159. "-Unpublished-" in the case of a private node.
  160.  
  161. Field 6 - Baud rate
  162.  
  163.      This  field contains one of the values:  300, 1200, 2400, 4800 or
  164. 9600, and defines the maximum baud rate supported by the node.
  165.  
  166. Field 7 - Flags
  167.  
  168.      This optional field contains data about the specific operation of
  169. the  node,  such as special hours, modem protocol supported, etc.  Any
  170. text following the sixth comma on a data line is taken collectively to
  171. be  the  flags  field.  For this reason, it may contain any characters
  172. including spaces and even commas.  It has a  recommended  format,  but
  173. that  format is not now guaranteed.  The recommended format is zero or
  174. more subfields separated by commas consisting of a flag code, followed
  175. by a color (:), possibly followed by a value.
  176.  
  177.      The following codes are used to define operating hours:
  178.  
  179.               Code     Meaning
  180.  
  181.                DA:     Daily
  182.                WK:     Week days
  183.                WE:     Week ends
  184.                SU:     Sundays
  185.                SA:     Saturdays
  186.                MO:     Mail Only
  187.  
  188.      The following codes define special operating conditions:
  189.  
  190.               Code     Meaning
  191.  
  192.                RE:     Node exercises some access restrictions.
  193.                XP:     Node that supports the extended protocol
  194.                        which means it supports file request and
  195.                        update request.
  196.  
  197.      The following codes define modem protocols supported:
  198.  
  199.               Code     Meaning
  200.  
  201.               CT1:     300 baud CCITT                        (V21)
  202.               CT2:     1200/75 split baudrate viewdata mode  (V23)
  203.               CT3:     1200 baud full duplex bell compatible (V22)
  204.               CT4:     2400 baud full duplex                 (V22bis)
  205.  
  206.      The following are examples of nodelist data lines:
  207.  
  208. Host,102,SOCALNET,Los_Angeles_CA,Richard_Martz,1-213-874-9484,2400,XP:
  209. ,101,Rainbow_Data,Culver_City_CA,Don_Brauns,1-213-204-2996,2400,
  210.  
  211.      With  more  than  a thousand nodes, the nodelist, even in archive
  212. form, is a substantial document (or file).  Since distribution is  via
  213. electronic  file  transfer,  this  file  is NOT routinely distributed.
  214. Instead, when a new nodelist is prepared,  it  is  compared  with  the
  215. previous  week's  nodelist, and a file containing only the differences
  216. is created and distributed.
  217.  
  218.      The distribution file, called  NODEDIFF.nnn,  where  nnn  is  the
  219. day-of-year  of  publication, is actually an editing script which will
  220. transform the previous week's nodelist into the current  nodelist.   A
  221. definition of its format follows:
  222.  
  223.      The  first  line  of  NODEDIFF.nnn  is an exact copy of the first 
  224. line of LAST WEEK'S nodelist. This is used as a first-level confidence
  225. check  to  insure that the right file is being edited.  The second and
  226. subsequent lines are editing commands and editing data.
  227.  
  228.      There are three editing commands and all have the same format:
  229.  
  230.           <command><number>
  231.  
  232.      <command> is a 1-letter command;  A,  C  or  D.   <number>  is  a
  233. decimal  number  greater than zero, and defines the number of lines to
  234. be operated on by the command.  Each command  appears  on  a  line  by
  235. itself.  The commands have the following meanings:
  236.  
  237.      Ann - Add the following nn lines to the output file.
  238.  
  239.      Cnn - Copy nn lines from the input to the output file.
  240.  
  241.      Dnn - Delete (or skip) nn lines from the input file.
  242.  
  243.      The  following illustrate how the first few lines of NODEDIFF.213
  244. might look:
  245.  
  246.      ;A Friday, July 25, 1986 -- Day number 206 : 27712
  247.      D2
  248.      A2
  249.      ;A Friday, August 1, 1986 -- Day number 213 : 05060
  250.      ;A
  251.      C5
  252.  
  253.      This  fragment illustrates all three editing commands.  The first
  254. line is the first line from NODELIST.206.  The next line says  "delete
  255. the  first  two lines from NODELIST.206.  These are the identification
  256. line and the line following it.  The next command says "add  the  next
  257. two  lines  to  NODELIST.213.   The  two  data lines are followed by a
  258. command which says "copy five unchanged  lines  from  NODELIST.206  to
  259. NODELIST.213.   Notice  that  the first line added will ALWAYS contain
  260. the new nodelist's CRC.
  261.  
  262.      Since  only  the differences will be distributed, it is important
  263. to insure the accuracy of the newly created  nodelist.   This  is  the
  264. function  of  the CRC mentioned above.  It is sufficient for a program
  265. designed to perform the above edits to pick the  CRC  value  from  the
  266. first  line added to the output file, then compute the CRC of the rest
  267. of the output file.  If the two CRCs do not agree, one  of  the  input
  268. files  has  been corrupted.  If they do agree, the probability is very
  269. high (but not 100%) that the output file is accurate.
  270.  
  271.      For actual distribution, NODEDIFF.nnn and  COORD.nnn  are  packed
  272. into  an  archive  file  named NODEDIFF.Ann, where nn are the last two
  273. digits of day-of-year.
  274.